package com.zkzx.company.api.service.authorization;

import com.zkzx.company.api.mapper.MemberMapper;
import com.zkzx.company.api.mapper.entity.Member;
import com.zkzx.company.api.mapper.entity.MemberExample;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;
import java.util.Optional;

/**
 * @author young Email:yanghui@zkraising.com
 * @description
 * @company 北京中科智兴物联科技有限公司 @版权所有
 * @since 2021年04月27日 17时58分
 */
@Service
public class MemberMapperService {

    @Resource
    private MemberMapper memberMapper;

    /**
     * 获取用户信息
     * @param code 用户名称
     * @return 用户信息
     */
    public Member getByCode(String code){
        MemberExample memberExample = new MemberExample();
        memberExample.createCriteria().andCodeEqualTo(code);
        Optional<Member> first = memberMapper.selectByExample(memberExample).stream().findFirst();
        if (first.isPresent()){
            return first.get();
        }
        return null;
    }


    /**
     * 获取用户信息
     * @param mobile 用户电话
     * @return 用户信息
     */
    public Member getByMobile(String mobile){
        MemberExample memberExample = new MemberExample();
        memberExample.createCriteria().andMobileEqualTo(mobile);
        Optional<Member> first = memberMapper.selectByExample(memberExample).stream().findFirst();
        if (first.isPresent()){
            return first.get();
        }
        return null;
    }

    /**
     * 修改密码
     * @param id id
     *  @param password 新密码
     * @return 用户信息
     */
    public void updatePassword(Integer id,String password){
        MemberExample memberExample = new MemberExample();
        memberExample.createCriteria().andIdEqualTo(id);
        Member member = new Member();
        member.setPwd(password);
        member.setLastmodifiedtime(new Date());
        this.memberMapper.updateByExampleSelective(member,memberExample);
    }
}
